PROBLEMS.TXT Copyright (c) 1991-1996 xTech Ltd ---------------------------------------------------------------- Native XDS-x86 OS/2 Edition --------------------------- v2.17 (pre-release) Known Problems Optlink calling convention -------------------------- Take into account that XDS compiler does not yet support the Optlink calling convention used by IBM C Set++ and Visual Age C++ compilers, and, much worse, in the standard C libraries, suppiled with these compilers. So you can not call any functions from these libraries (or other C modules compiled by IBM compilers) directly from your Modula-2 or Oberon-2 code. In order to call an _Optlink C function, you have to write a wrapper C function with _SysCall conventions. PIM to ISO Modula-2 Porting --------------------------- XDS requires the use of "FORWARD" procedures declarations when necessary. This "declare-before-use" approach is perfectly valid for ISO-conformant compilers. There is a lot of Modula-2 dialects, most of which are based on PIM. XDS Modula-2 in the default mode (when the M2EXTENSIONS option is turned off) is 100% ISO compliant. The following is a compact list of language features introduced in ISO Modula-2 which do not exist in PIM. Refer to the User's Guide (XDS Modula-2 | New language features section) for details. - New keywords and pervasive identifiers - Syntax for source code directives - Complex types COMPLEX and LONGCOMPLEX - PACKEDSET types - String concatenation - Value constructors - Multi-dimensional open arrays - Procedure constants - Additional whole number division operators - INT and LFLOAT type conversion functions - Module finalization - Exception handling - Termination - Coroutines and interrupt handling - Module protection - The module SYSTEM significantly changed - New system modules added: EXCEPTIONS, M2EXCEPTION, TERMINATION, COROUTINES Language features which do not exist in ISO Modula-2: - EXPORT and EXPORT QUALIFIED statements in definition modules. - Type casting using TypeName(Expression). Use SYSTEM.CAST instead. Note: XDS supports old style type casting as an extension. Bug reporting ------------- If you suspect that you found a bug in XDS: 1. Ensure that you have the latest version of XDS. 2. Ensure that ALL your sources had been recompiled by the latest version of XDS. If you are still sure that it is an XDS bug, please report it to us. We are grateful indeed for bug reports. Please provide the following information: - version number of XDS you use - platform details (CPU, FPU, and operating system) - XDS compiler options along with a minimal piece of source code causing error. Please send bug reports to: xds@iis.nsk.su. [end of document]